const fs = require('fs');
const path = require('path');

// 定义目录路径
const dir1 = 'D:\\NodeTest\\Music\\Center';
const dir2 = 'D:\\NodeTest\\Music\\音频文件';

// 初始索引
let index = 1; // 从1开始，后面会格式化为8位数

// 处理单个目录的函数
async function processDirectory(directory) {
  try {
    const files = fs.readdirSync(directory);

    for (const file of files) {
      const oldPath = path.join(directory, file);
      // let [sortIndex, songName, personName] = file.split('_');
      // personName = personName.replace('.mp3', '');
      // 格式化新序号为8位数
      const newIndex = index.toString().padStart(6, '0');
      const newFilename = file.replace(/(.mp3)/g, '') + '.mp3';
      // const newFilename = `${newIndex}.${songName}(${personName}).mp3`;
      const newPath = path.join(directory, newFilename);

      // 重命名文件
      fs.renameSync(oldPath, newPath);
      console.log(`重命名: ${file} -> ${newFilename}`);

      index++; // 索引递增
    }
  } catch (err) {
    console.error(`处理目录 ${directory} 时出错:`, err);
  }
}

// 处理两个目录
(async () => {
  console.log('开始处理文件重命名...');
  await processDirectory(dir1);
  await processDirectory(dir2);
  console.log('文件重命名完成！');
})();
